﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace AvaProvi
{
    class clsInmueble_CD
    {
        private dsInmoviliario dsInmoviliario;
        private dsInmoviliarioTableAdapters.InmuebleTableAdapter TAInmueble;

        public clsInmueble_CD()
        {
            dsInmoviliario = new dsInmoviliario();
            dsInmoviliario.SchemaSerializationMode = System.Data.SchemaSerializationMode.IncludeSchema;
            dsInmoviliario.DataSetName = "dsInmoviliario";

            //se le debe pasar la conección
            TAInmueble = new AvaProvi.dsInmoviliarioTableAdapters.InmuebleTableAdapter();
            TAInmueble.ClearBeforeFill = true;
        }

        public dsInmoviliario.InmuebleRow RecuperaInmueble(int ClaveAvaluo)
        {
            TAInmueble.RecuperaInmoviliarioDeAvaluo(dsInmoviliario.Inmueble, ClaveAvaluo);
            foreach (dsInmoviliario.InmuebleRow filaInmueble in dsInmoviliario.Inmueble)
            {
                return filaInmueble;
            }
            return null;
        }

        public bool CreaInmueble(clsInmueble_CRN objInmueble)
        {
            int registrosAfectados = TAInmueble.NuevoInmueble(
                objInmueble.TipoInmueble,
                objInmueble.ClaseInmueble,
                objInmueble.Estado,
                objInmueble.NoDeRecamaras,
                objInmueble.NoDeNiveles,
                objInmueble.CUVivienda,
                objInmueble.NoPaqueteInfonavit,
                objInmueble.NoDeCedulaInfonavit,
                objInmueble.Constructor,
                objInmueble.Longitud,
                objInmueble.Latitud,
                objInmueble.Altitud,
                objInmueble.NombreConjunto,
                objInmueble.CuentaPredial,
                objInmueble.ClaveCatastral,
                objInmueble.CuentaAgua,
                objInmueble.Avaluo.IdAvaluo,
                objInmueble.NoDeVivienda,
                objInmueble.RegimenDePropiedad,
                objInmueble.ClasificacionGral);
            return registrosAfectados == 0 ? false : true;
        }

        public bool ModificarInmueble(clsInmueble_CRN objInmueble)
        {
            int registrosAfectados = TAInmueble.ActualizaInmueble(
                objInmueble.TipoInmueble,
                objInmueble.ClaseInmueble,
                objInmueble.Estado,
                objInmueble.NoDeRecamaras,
                objInmueble.NoDeNiveles,
                objInmueble.CUVivienda,
                objInmueble.NoPaqueteInfonavit,
                objInmueble.NoDeCedulaInfonavit,
                objInmueble.Constructor,
                objInmueble.Longitud,
                objInmueble.Latitud,
                objInmueble.Altitud,
                objInmueble.NombreConjunto,
                objInmueble.CuentaPredial,
                objInmueble.ClaveCatastral,
                objInmueble.CuentaAgua,
                objInmueble.Avaluo.IdAvaluo,
                objInmueble.NoDeVivienda,
                objInmueble.RegimenDePropiedad,
                objInmueble.ClasificacionGral,
                objInmueble.Avaluo.IdAvaluo);
            return registrosAfectados > 0 ? true : false;
        }

        public bool EliminaInmueble(clsInmueble_CRN objInmueble)
        {
            int registrosAfectados = TAInmueble.EliminaInmueble(objInmueble.Avaluo.IdAvaluo);
            return registrosAfectados > 0 ? true : false;
        }
    }
}
